|
Object SecurityThe advanced security model within KommerceServer supports user-defined roles and the ability to secure applications by page, by page module, and by data scope at the following two levels:
KommerceServer encapsulates data tables as business objects so data scope is defined through object security. Pages in KommerceServer are aware of what business objects are used and therefore determine who has access to the pages based on the object security. When pages are loaded, KommerceServer will dynamically enable/disable controls on the page based on the security permissions for the user. For example, a page that is designed to modify an object may hide the Save or Delete button and disable editing of the fields if the user has only read-access to the underlined business object. It may be appropriate to simply deny access to a page if the page will ultimately be rendered read-only for a user in which case KommerceServer provides an override. Businesses, Contacts, and UsersWithin the KommerceServer SQL database are key objects involved in implementing the security model. First there are business entities (typically customers) that have one or more contacts associated with them. Each contact who has access to the website will have a user account defined. The user account will have one or more user roles which determine what the user can see and do on the website. CRUD & Row-Level SecurityCreate, Retrieve, Update and Delete (CRUD) refers to the four major functions implemented in database applications. The CRUD functions serve as the user interfaces to databases. They allow users to create, view, modify and alter data. CRUD enables users to work on and manipulate entities in the KommerceServer database. Row-Level Security enables you to control access to rows in a database table based on the characteristics of the user executing the query. It also enables you to implement restrictions on data row access. For example, you can use Row Level Security to ensure that certain KommerceServer users can only access the data rows that are pertinent to their user role. Column-Level SecurityColumn-Level Security enables you to grant SELECT and UPDATE privileges to users for specific table columns. Users can retrieve and update data from only the columns they're authorized to change in your object security settings. KommerceServer's Column-Level security allows you to restrict access to specific columns within the database table. Super/Sub-DomainsSuper domains refer to the main KommerceServer database tables while sub-domains refer to the child/grandchild/etc. database tables in KommerceServer. |